package com.cib.xagcjs.dal;

import com.cib.xagcjs.dto.EcnyUnLockDTO;
import com.cib.xagcjs.dto.EcnyUnLockDetailDTO;
import com.cib.xagcjs.vo.EcnyLockListVO;
import com.cib.xagcjs.vo.EcnyUnlockVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 数币解冻通知接口映射
 */
@Mapper
public interface EcnyUnLockMapper {

    /**
     * 数币解冻记录主表入库
     * @param data 解冻主表信息
     * @return 执行影响的行数
     */
    int insertUnLock(@Param("data") EcnyUnLockDTO data);

    /**
     * 解冻明细表入库
     * @param ecnyUnLockDetailDTO 解冻明细信息
     * @return 执行影响的行数
     */
    int insertUnLockDetail(@Param("dto") EcnyUnLockDetailDTO ecnyUnLockDetailDTO, @Param("transId") String transId);

    /**
     * 获取解冻主表解冻状态已经更改为 2 已解冻 列表
     * @param status 状态
     * @return 列表
     */
    List<EcnyUnlockVO> selectUnLock(@Param("status") int status);

    /**
     * 根据这个批次的transId 获取下面所有 状态 1-成功 的列表
     * @param transId 唯一标识
     * @param status 状态
     * @return 解冻列表
     */
    List<EcnyLockListVO> selectUnLockList(@Param("transId") String transId, @Param("status") int status);

    /**
     * 根据 transId 更新解冻状态
     * @param transId 唯一标识
     * @param status 状态
     */
    void updateUnLockStatus(@Param("transId") String transId, @Param("status") int status);
}
